package com.example.mvp.view

import android.app.Dialog
import android.content.Context
import android.text.TextUtils
import android.view.LayoutInflater
import android.view.View
import android.widget.TextView
import com.example.baselibrary.R

/**
 * 系统取消确定dialog
 * @author  chaohaipeng  on 2018/7/11.
 */
class CabcelSureDialog : Dialog {
    /**
     * 上下文
     */
    private var mContext: Context? = null
    /**
     * dialog内容
     */
    private var tv_dialog_cob_content: TextView? = null
    /**
     * 取消按钮
     */
    private var tv_dailog_cob_cancel: TextView? = null
    /**
     * 确定按钮
     */
    private var tv_dailog_cob_ok: TextView? = null
    /**
     * 布局控件事件接口对象
     */
    private var eventInterface:DialogEventInterface? = null
    constructor(context: Context) : super(context) {
        mContext = context
        initView()
    }

    constructor(context: Context?, themeResId: Int) : super(context, themeResId) {
        mContext = context
        initView()
    }
    /**
     * 初始化控件布局
     */
    fun initView() {
        val v = LayoutInflater.from(mContext).inflate(R.layout.dialog_cancel_ok_base, null)
        // 设置点击屏幕Dialog不消失
        setCancelable(false)
        tv_dialog_cob_content=v.findViewById(R.id.tv_dialog_cob_content)
        tv_dailog_cob_cancel=v.findViewById(R.id.tv_dailog_cob_cancel)
        tv_dailog_cob_ok=v.findViewById(R.id.tv_dailog_cob_ok)
        initEvent();
        setContentView(v)
    }
    /**
     * 初始化事件
     */
    fun initEvent(){
        tv_dailog_cob_ok?.setOnClickListener(View.OnClickListener {
            eventInterface?.rightOnClick()
        })
        tv_dailog_cob_cancel?.setOnClickListener(View.OnClickListener {
            eventInterface?.leftOnClick()
        })
    }
    /**
     * 设置内容描述
     */
    fun setDialogContent(content:String?){
        if (!TextUtils.isEmpty(content)){
            tv_dialog_cob_content?.text=content
        }
    }
    /**
     * 设置确定文字
     */
    fun setDialogConfirm(confirm:String?){
        if (!TextUtils.isEmpty(confirm)){
            tv_dailog_cob_ok?.text=confirm
        }
    }
    /**
     * 设置取消文字
     */
    fun setDialogCancel(cancel:String?){
        if (!TextUtils.isEmpty(cancel)){
            tv_dailog_cob_cancel?.text=cancel
        }
    }


    fun setEventInterface(event: DialogEventInterface) {
        this.eventInterface = event
    }
    /**
     * 布局控件事件接口
     */
    interface DialogEventInterface {
        /**
         * 左侧按钮点击事件
         */
        fun leftOnClick()
        /**
         * 右侧按钮点击事件
         */
        fun rightOnClick()
    }
}